home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / Audio dcmds / Audio CD dcmds.sit / Audio CD dcmds.π / Think Put Lib source / PutBinary.c < prev    next >
Text File  |  1994-08-31  |  570b  |  34 lines

  1. void PutChar(char c);
  2. void PutText(const char* s, int len );
  3. void __BinToText (unsigned long bin, char* str );
  4.  
  5.  
  6. void PutBinary (unsigned long i, int nz)
  7. {
  8.         char*     str = "00000000000000000000000000000000";
  9.         int         firstNz;
  10.     
  11.     if ( nz > 0 && nz <= 32 )
  12.     {
  13.         firstNz = nz;
  14.         
  15.         __BinToText (i, str );
  16.     
  17.         PutChar( '~' );
  18.         
  19.         while ( nz % 4 )
  20.         {
  21.             PutChar( str[32-nz] );
  22.             nz--;
  23.         }
  24.         
  25.         if ( nz && nz != firstNz ) PutChar(',');
  26.         
  27.         while ( nz )                    // on entry, nz is a multiple of 4
  28.         {
  29.             PutText( &str[32-nz], 4 );
  30.             nz -= 4;
  31.             if  ( nz ) PutChar(',');
  32.         }
  33.     }
  34. }